MuleSoft Accelerator for Healthcare
Use case 4 - Appointment scheduling
Streamline the appointment scheduling process via pre-built APIs
Overview
Appointments are at the center of all key patient engagement touch-points and appointment scheduling, in particular, provides critical value to patients. It is also a source of high revenue leakage for providers due to no-shows, cancellation, wrong visit type, or long wait times while booking an appointment.
Historically the process to schedule an appointment has been time-intensive for staff and frustrating for patients due to its manual nature. Organizations are now seeking ways to automate this process through the use of APIs to power an improved staff and patient experience.
Use case description
This use case provides customers with pre-built APIs and implementation templates to surface appointment information from EHR systems to consuming applications like Salesforce Health Cloud. By establishing these integrations, call center agents using Salesforce can identify available slots, schedule, and cancel appointments as needed on behalf of the patient. The solution has been designed to support customers leveraging Epic and/or Cerner as their EHR and Salesforce Health Cloud’s Intelligent Appointment Management functionality; however, the solution can be extended as needed.
Functional view
Glossary
Term | Definition |
---|---|
IAM | Health Cloud Intelligent Appointment Management system provides a patient appointment booking experience in Salesforce for call center agents and care coordinators. |
EHR | An Electronic Health Record is a digital version of a patient's paper chart. It contains the patient's medical history, diagnoses, medications, treatment plans, immunization dates, allergies, radiology images, and laboratory test results. |
FHIR | Fast Healthcare Interoperability Resources is an HL7 specification for healthcare interoperability. It is a JSON-based standard describing data formats, elements and an application programming interface for exchanging electronic health records. |
High-level architecture
Workflow
End-to-end scenarios
- Call center agents or care coordinators from Salesforce IAM fetch the slot information and confer with the patient to identify desired time, location, etc.
- Upon identification of desired appointment slot, book appointment from Salesforce and status updated accordingly in EHR
- In a situation where a patient is seeking to cancel their appointment, call center agent is able to cancel from Salesforce IAM (and schedule a new appointment when necessary).
Processing logic
The Appointment Scheduling Process API supports the following workflow:
- Query the
/Slot
resource to search for available slots which orchestrates calls to the backend EHRs (Epic and Cerner) via Generic FHIR Client System API to query for available time slots that can be booked. - Invoke the
/Slot
resource to get the status of the selected slot from the EHR system. - If the slot is available, invoke the
/Appointment
resource to book an appointment, which sends a request to the appropriate system API to book the appointment. - To cancel an appointment, invoke the
/Appointment
resource with the appropriate status.
The above workflow steps have been tested with Epic and Cerner EHRs, see the table below for supported functionality:
Function | Epic | Cerner |
---|---|---|
Search Slots | Supported | Supported |
Check Slot Status | Partially supported* | Supported |
Book Appointment | Supported | Supported |
Get Appointment by Id | Supported | Supported |
Cancel Appointment | Not supported | Supported |
Search Appointments for Patient | Supported | Supported |
* Although Epic provides the endpoints to /Slot Read, unable to validate the status of the slot via publicly available sandbox as it does not return a response payload.
Sequence diagram
Success conditions
Upon successful, the following conditions will bet met:
- Fetch available slots from the EHR system and display on IAM
- Book an appointment and manage it
Assumptions and constraints
- Supports Epic Open APIs STU3 implementation
- Cancellation of appointments is not supported for Epic
- Supports Oracle Cerner Millennium APIs R4 implementation
- IAM supported filter options have limitations when retrieving slots from EHRs (e.g. Epic does not support the ability to filter slots by a practitioner, sub-specialty nor plan type via Open APIs and Cerner doesn’t support the ability to filter slots by a sub-specialty nor plan type via Millennium APIs)
Before you begin
The Getting Started with MuleSoft Accelerators guide provides general information on getting started with the accelerator components. This includes instructions on setting up your local workstation for configuring and deploying the applications. |
Downloadable assets
Process APIs
- Appointment Scheduling Process API | API Specification | Implementation Template
System APIs
- Generic FHIR Client System API | API Specification | Implementation Template
MuleSoft Direct assets
For Salesforce Health Cloud customers interested to deploy MuleSoft applications via MuleSoft Direct, access the assets and documentation below:
- Appointment Scheduling Integration | API Specification | Application
References
Here are some links to related and supporting documentation.
- Epic Open API for Find Appointments
- Epic Open API for Book Appointment
- Oracle Cerner Health Millennium API
- Health Cloud Intelligent Appointment Management
Demonstration
Interested to see these assets in action, check out this demo recording highlighting this use case!